Fix bug #11417 with infloop when left-fringe/right-fringe spec is used on TTY.
authorEli Zaretskii <eliz@gnu.org>
Sun, 13 May 2012 15:35:13 +0000 (18:35 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 13 May 2012 15:35:13 +0000 (18:35 +0300)
commit0b95aa3a29c9758f8a4232d3211c036459407fe7
treeda6054c8418634db844853b4a6335e4c719aa3eb
parent90ba8f5a24be0045962ea004b82c7fa5d2c530f4
Fix bug #11417 with infloop when left-fringe/right-fringe spec is used on TTY.

 src/xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we
 already have overlays loaded.
 (handle_single_display_spec): Before returning without displaying
 fringe bitmap, synchronize the bidi iterator with the main display
 iterator, by calling iterate_out_of_display_property.
 (iterate_out_of_display_property): Detect buffer iteration by
 testing that it->string is a Lisp string.
 (get_next_display_element): When the current object is exhausted,
 and there's something on it->stack, call set_iterator_to_next to
 proceed with what's on the stack, instead of returning zero.
 (set_iterator_to_next): If called at the end of a Lisp string,
 proceed to consider_string_end without incrementing string
 position.  Don't increment display vector index past the end of
 the display vector.
src/ChangeLog
src/xdisp.c